import functions.Cos;
import functions.Logaritm;
import functions.Radical;
import functions.Sin;
import functions.special.CosH;
import operators.Cat;
import operators.Minus;
import operators.Plus;
import operators.Produs;
import operators.Putere;
import operators.Stea;
import arbore.ArboreFunctional;
import arbore.Constanta;
import arbore.Necunoscuta;
import arbore.Nod;



public class Main {
	public static void main(String arg[])
	{
		Nod n=new Necunoscuta();
		Nod n2=new Necunoscuta();
		
		Nod ct=new Constanta(1);
		Nod ct2=new Constanta(5);
		Nod ct3=new Constanta(2);
		
		Nod plus=new Plus();
		Nod plus2=new Plus();
		Nod minus=new Minus();
		Nod produs=new Produs();
		Nod produs2=new Produs();
		Nod cat=new Cat();
		Nod putere=new Putere();
		Nod sin=new Sin();
		Nod cos=new Cos();
		Nod log=new Logaritm();
		Nod rad=new Radical();
		Nod stea=new Stea();
		Nod cosH=new CosH();
		
		plus.setfDrept(n2);
		plus.setfStang(cos);
		cos.setfStang(sin);
		sin.setfStang(n);
		ArboreFunctional a=new ArboreFunctional(plus);
		System.out.println("Ecuatia data este:");
		System.out.println(a.toString());
		System.out.println("Ecuatia derivata este:");
		//System.out.println(a.derivare());
		System.out.println("Derivata in punctul 4 este:");
		//System.out.println(a.calculDerivata(4));

	}
}
